package sistemaEnemigo;

import java.util.Vector;

import escenario.Escenario;
import escenario.Posicion;

public class GeneradorMisilesEnemigos implements Runnable {

	private int contadorMisiles = 0;
	private Escenario escenario;
	
	public GeneradorMisilesEnemigos(Escenario es){
		escenario = es;
	}

	private void generarMisil(double radioO, double titaO, double fiO, double radioD, double titaD, double fiD){
		//ESTAS CONDICIONES VAN EN EL RANDOM LO PONGO ACA PARA ASEGURARME QUE FUNCIONE EL TEOREMA DEL COSENO
		if((radioO * Math.sin(Math.toRadians(titaO))) < 50)
			System.out.println("El Misil Enemigo NO es generado fuera del Area de deteccion");
		else{
			if(radioD >= 50)
				System.out.println("El Misil Enemigo NO IMPACTA dentro de la zona protegida. TEMPORALMENTE Radio igual a 50km");
			else{
				MisilEnemigo misilE = new MisilEnemigo(escenario);
				misilE.setId(contadorMisiles);
				contadorMisiles++;
				misilE.setPosicion(new Posicion(radioO, Math.toRadians(titaO), Math.toRadians(fiO)));
				misilE.setDestino(new Posicion(radioD, Math.toRadians(titaD), Math.toRadians(fiD)));
				misilE.addPosAbs();
				Thread hiloMisilE = new Thread(misilE);
				hiloMisilE.start();			
			}
		}
	}

	@Override
	public void run() {
		System.out.println("Se inicia la ejecucion de un generador de misiles");
//		while(true){
//			generarMisil(100, 45, 45, 100, 90, 90);
//			generarMisil(141.4213562, 45, 90, 0, 90, 90);
//			generarMisil(200, 0, 270, 200, 90, 270);
//			generarMisil(282.8427125, 45, 270, 0, 90, 270);

//			COORDENADAS DE PRUEBA TEOREMA DEL COSENO		
			generarMisil(79.05, 60, 18.43, 35.35, 90, 315);
//			generarMisil(79.05, 60, 341.56, 35.35, 90, 45);
	
		
			try {
				Thread.sleep(2000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			//}
		}
	}
}